Extending behavioral test models with symbolic data

نویسندگان

  • Christiaan Hartman
  • Mohammad Reza Mousavi
چکیده

Model-based testing is a technique to automatically generate test cases and oracles in order to test an implementation. A typical behavioral model used for model-based testing is a Labeled Transition System (LTS). However creating the LTS models needed for testing is a complex task, and especially when data is involved the number of states and thus the complexity will explode fast. Incorporating data in an LTS leads to a Symbolic Transitions System (STS), where data is stored in variables and actions have guards and updates. The result is that the number of states is reduced and the complexity is moved to the update rules and guards. In order to simplify the construction of STS an algorithm is presented that is capable of extracting data from an implementation and enriching the LTS model in order to form an STS. A domain expert can than inspect the model for possible faults and in the future the model can be used for regression testing of the implementation.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Finding Errors in Python Programs Using Dynamic Symbolic Execution

For statically typed languages, dynamic symbolic execution (also called concolic testing) is a mature approach to automated test generation. However, extending it to dynamic languages presents several challenges. Complex semantics, fragmented and incomplete type information, and calls to foreign functions lacking precise models make symbolic execution difficult. We propose a symbolic execution ...

متن کامل

Testing the IPC Protocol for a Real-Time Operating System

In this paper, we adapt model-based testing techniques to concurrent code, namely for test generations of an (industrial) OS kernel called PikeOS. Since our data-models are complex, the problem is out of reach of conventional model-checking techniques. Our solution is based on symbolic execution implemented inside the interactive theorem proving environment Isabelle/HOL extended by a plugin wit...

متن کامل

-Lexicase Selection for Regression

Lexicase selection is a parent selection method that considers test cases separately, rather than in aggregate, when performing parent selection. It performs well in discrete error spaces but not on the continuous-valued problems that compose most system identification tasks. In this paper, we develop a new form of lexicase selection for symbolic regression, named -lexicase selection, that rede...

متن کامل

Higher-order symbolic execution for contract verification and refutation

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. To validate our approach, we use it to develop and evaluate a system for verifying and refuting behavioral software contracts of components in a functional language, which we call soft contract verification. In doing so, we discover a mutual...

متن کامل

Techniques for Improving Test-Driven Design

Early test development and specification enhance the quality and robustness of software as experience with new agile software development methods shows. The methods propagate test-first techniques and early prototyping through executable design models. For UML, Model-Driven Architecture is oriented towards executable models. Several authors propose scenarios specified by sequence diagrams as te...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013